Browsing software, generally known as "Internet browsers,"are now in wide-spread use for retrieving (also known as "downloading") and viewing electronic documents in hyper-text markup language (HTML) format from a portion of the Internet known as the "world-wide web." Examples of currently available browsers include the Internet Explorer by Microsoft Corporation, the Navigator by Netscape Communications Corporation, Mosaic by the National Center for Supercomputing Applications, and others. These HTML documents are ASCII coded (a well known standard for coding alpha-numeric characters in 7- or 8-bits) character files generally consisting of text and HTML "tags" which specify formatting of the document, links (referred to as "hyper-links") to related documents, and other files that contain information (e.g., sound, images, video, etc.) which is to be combined into the document, among other tag features.
The Internet is a well known, global network of cooperatively interconnected computer networks. The world-wide web portion of the Internet is a collection of server computers (referred to as "sites") on the Internet which store HTML documents that can be publicly accessed by computer users having a connection to the Internet. There are many such world wide web sites on the Internet.
Individual computer users commonly connect to the Internet from their computer (sometimes referred to as a "client computer") over a conventional analog telephone line (sometimes referred to as a "POTS" line) with a modem. These users dial with the modem on the public telephone system to a server computer connected on the Internet, such as a server computer of an Internet access service provider with which the user has an account. Currently available modems typically are capable of communicating at speeds of approximately 14.4 kbit/second and 28.8 kbit/second. Some computer users access the Internet over faster telephone lines, such as ISDN, T1, or like telephone lines, and are able to obtain communications speeds that are four or more times faster than with modems and conventional analog "POTS" telephone lines.
In use, browser software allows a user to navigate (also known as "browsing") between documents and sites on the world-wide web. The user can enter a name of a document, referred to as a uniform resource locator ("URL"), which specifies a particular site and a particular resource or file at that site containing the document for the browser to retrieve. Alternatively, the user can activate a "hyper-link" on an HTML document currently being viewed to retrieve a related document (as specified by a URL in the hyper-link tag within the current HTML document). This causes the browser to jump or change its display to the new document specified by the hyper-link's URL.
When an HTML document is retrieved, the browser displays the document for the user to view. As is conventional in the computer field, the browser uses fonts to draw text of the document (i.e., generate and write display data to a display buffer or output device) for display on a monitor screen or other output device. A font is a collection of characters and symbols that share a common design. In HTML, the characters and symbols in the text of a document are specified by ASCII codes. The browser displays text by drawing the respective glyph of the characters and symbols from a font for the ASCII codes in the text of the HTML document.
In general, fonts have three major design elements referred to as typeface, style, and size. The typeface of a font (hereafter also referred to as the "font face") refers to specific characteristics of characters and symbols in the font such as the width of the thick and thin strokes that compose the character and the presence or absence of serifs. A serif is the short cross line at the ends of an unconnected stroke. A font or typeface without serifs is usually called a sans-serif font.
Style refers to the weight and slant of a font. Font weights can range from thin to black. In Microsoft Corporation's Windows operating system, fonts can have the following possible weights (from lightest to heaviest): thin, extra light, light, normal, medium, semi-bold, bold, extra bold, and heavy. The slant is characterized as roman, oblique, and italic.
Size generally refers to the height of the characters in a font. In the Windows operating system, the size of a font is an imprecise value. It can generally be determined by measuring the distance from the bottom of a lowercase "g" to the top of an adjacent uppercase "M." Font sizes in the Windows.RTM. operating system are specified in units called points (approximately 1/72 inch).
The font with which an HTML document is displayed can greatly affect the appearance of the document. However, with prior browsers, the ability of authors to control the fonts with which the document is displayed has been limited.
In the Windows operating system, font faces are designated by a font name. Some font faces (e.g., TRUETYPE.RTM. scalable outline font technology type of fonts) also are classified by numerical ratings in a set of attributes (e.g., the PANOSE.RTM. font face metric). The Windows operating system provides a number of application programming interface (API) functions which allow applications software to enumerate the font faces that are installed on a computer and query their attributes.
The HTML language defines a number of tags which allow an author of an electronic document to specify the appearance of text in the document. The version 2 standard of the HTML language (hereafter "HTML 2") includes tags for designating bold, italic, underlined, and strike-out style of the font for displaying text in an HTML document, such as the following:
&lt;B&gt;This text is in bold.&lt;/B&gt; PA1 &lt;I&gt;This text is in italics.&lt;/I&gt; PA1 &lt;U&gt;This text is underlined.&lt;/U&gt; PA1 &lt;S&gt;This text is in strike-out.&lt;/S&gt; PA1 &lt;BASEFONT SIZE=n&gt; PA1 &lt;FONT SIZE=n, +n or -n&gt;
In addition, the following tags in HTML 2 denote text that is to be displayed in fixed-pitch typeface: &lt;PLAINTEXT&gt; . . . &lt;/PLAINTEXT&gt;, &lt;PRE&gt; . . . &lt;/PRE&gt;, &lt;TT&gt; . . . &lt;/TT&gt;, and &lt;XMP&gt; . . . &lt;/XMP&gt;.
Browsers which support HTML 2 recognize these tags and display the text of electronic documents which include these tags accordingly. For example, the pieces of text in the above bold, italic, underlined and strike-out examples would be displayed by the browser in an electronic document as shown in FIG. 5. Prior browsers typically display text which is marked with the above fixed-pitch typeface tags (e.g., &lt;PLAINTEXT&gt;) using a font with a fixed-pitch typeface, and otherwise use a font with a proportional typeface.
Some prior browsers also support some extensions of the standard HTML language. The HTML language can be extended by defining new tags and/or tag attributes. So that extensions can be added without causing prior browsers to fail, browsers generally ignore HTML tags that they do not support.
One prior browser, the Navigator by Netscape Communications Corporation of Mountain View, Calif., supports an HTML extension which allows an author of an HTML document to specify a base font size and a relative font size for different parts of the text in a document. These HTML extensions include the following tags:
These tags specify a number n between 1 and 7 for the font size, where 7 is the largest font size. A plus before the number indicates the font size relative to the current base font size setting. For example, where the base font size is set to 3 with the tag &lt;BASEFONT SIZE=3&gt;, the tag &lt;FONT SIZE=+2&gt; specifies a font size of 5.
Accordingly, while authors of HTML documents on the world-wide web have been able to control the style and size of the fonts used to draw their documents, the ability to control the particular font faces for the text of HTML documents retrieved from the Internet has been limited. There have been a number of tags for designating font styles and size (e.g., the &lt;B&gt;, &lt;U&gt;, &lt;I&gt;, &lt;S&gt;, &lt;BASEFONT SIZE=n&gt;, and &lt;FONT SIZE=.+-.n&gt; tags described above). However, the HTML tags for designating typeface of a font have been limited to those designating text as having a fixed-pitch font.
For this reason, prior browsers generally have used only two font faces for displaying HTML documents, a fixed-pitch typeface and a proportional type face. In some prior browsers, these two font faces are set by default. In others, these two font faces are an option that can be set by the user. In either case, the same two font faces are used for displaying all HTML documents.
Since the appearance of a document can be greatly affected by the font faces used, it is often desirable for authors of HTML documents on the world wide web to be able to control the particular font face used when browsing the document at a client computer. It also is desirable for some documents to be able to use several different font faces, or to use other than a standard fixed-pitch or proportional font face (e.g., a script, modern or Gothic family font face).
A problem also exists that the font faces that are installed at different client computers vary widely. Different computer platforms typically have different font faces. For example, a standard installation of the Windows operating system on a computer with an Intel or compatible microprocessor has different font faces than a Macintosh computer from Apple Computer, Inc., or a computer with a version of the UNIX operating system, or a computer with the OS/2 Warp operating system from IBM. However, each of these computer platforms are employed in browsing HTML documents from the world wide web. Also, the same font face often is referred to differently on different platforms (i.e., has a different name). This is referred to herein as the multiple platforms problem. Further, there is a very large number of font faces that are sold by other parties as add-ons to these platforms, or bundled with applications software for these platforms. So, the font faces often are quite different even between two client computers having the same platform.
Another problem exists in that there are sometimes different versions of the same font face, especially for computers that are sold or used internationally. In such computers, there can be several font faces of the same name for different international character and symbol sets (e.g., the "Arial" font face may have both western and Cyrillic alphabet versions) which are installed on the same computer. This is referred to herein as the multiple installed fonts problem.
In accordance with the present invention, a tag in an electronic document controls the font face for text in the document by designating a list of one or more font faces. In the illustrated embodiment of the invention, the tag is an HTML tag which includes a comma delimited list of font face names or font face characteristic sets. When remotely browsing the electronic document, a browser at a client computer finds a font face in the list that is installed at the client computer and displays the text with that font face.
For solving the multiple platform problem with the invention, the tag can designate a list of equivalent font faces for each of a plurality of platforms which are intended to browse the electronic document. The browser at a computer having any of the platforms can then choose an installed font face appropriate to the computer's platform in the list to use for drawing the text of the document. Thus, an author of an electronic document can control the font face of text in the document to have a same or similar appearance across multiple platforms.
For solving the multiple installed fonts problem, the browser again finds a font face in the list that is installed at the client computer. If there are more than one font face with that same name, the browser selects the font face with the same default character set which is set in the operating system. For example, if the western character set is set as the default for the operating system, the browser also selects the font face with the western character set.
In accordance with one aspect of the invention, the font faces are listed in the tag in an order of preference. The browser traverses the list in order and selects the first of the font faces in the list that is installed at the client computer. The browser thus selects the most preferred font face for the document's text that is installed at the client computer.
In accordance with another aspect of the invention, the browser includes a table of alternative font faces. The table lists alternative font faces for a plurality of common font faces (e.g., alternatives for the common font face on each of various computer platforms). When an exact match to a font face in the tag's list is not installed at the client computer, the browser consults the alternative font face table. If the table lists an alternative font face for a font face in the tag's list that is installed at the client computer, the browser selects that alternative font face for drawing the document's text. With this aspect of the invention, the author of the electronic document need not be aware of the alternatives of a particular font face on different computer platforms or list these alternatives with the font face tag. The author need only list a preferred font face, and the browser will determine the appropriate alternative font face for the particular client computer from the alternative font faces table. Thus, the multiple platform problem also is solved through the mechanism of the alternative fonts table.
Additional features and advantages of the invention will be made apparent from the following detailed description of an illustrated embodiment which proceeds with reference to the accompanying drawings.